package dto

import (
	new_admin "code.bydev.io/cht/customer/kyc-stub.git/pkg/bybit/kyc/admin/v1"
	"code.bydev.io/cht/customer/kyc-stub.git/pkg/bybit/kyc/common/enums"
)

type CountrySearchCondition struct {
	PageNo      int64  `json:"page_no,omitempty"`
	PageSize    int64  `json:"page_size,omitempty"`
	CountryCode string `json:"country_code,omitempty"`
	CountryName string `json:"country_name,omitempty"`
}

type AdminDocType struct {
	docTypeName string
}

type CountryConfigExtraData struct {
	SpecialText *new_admin.SpecialText `json:"special_text,omitempty"`
}

func (d AdminDocType) String2DocType(s string) enums.KYCDocType {
	switch d.docTypeName {
	case "ID":
		return enums.KYCDocType_KYC_DOC_TYPE_ID
	case "DL":
		return enums.KYCDocType_KYC_DOC_TYPE_DL
	case "PP":
		return enums.KYCDocType_KYC_DOC_TYPE_PASSPORT
	case "Special category":
		return enums.KYCDocType_KYC_DOC_TYPE_SPECIAL_CATEGORY
	default:
		return enums.KYCDocType_KYC_DOC_TYPE_UNDEFINED
	}
}

var (
	ChanelName = map[int32]string{
		1: "Sumsub",
		2: "Jumio",
	}
	ChanelValue = map[string]int32{
		"Sumsub": 1,
		"Jumio":  2,
	}

	CaptureMethodName = map[int32]string{
		1: "仅拍照",
		2: "拍照+上传",
	}
	CaptureMethodValue = map[string]int32{
		"仅拍照":   1,
		"拍照+上传": 2,
	}
)

type CommonConfig struct {
	DocSubtype *new_admin.DocSubtype `json:"doc_sub_type,omitempty"`
}
